﻿using System;
using System.Runtime.Serialization;

namespace SsrsRenderStudio.Shared
{
    public enum EnumLoggingAction
    {
        EMAIL,
        LOG,
        EVENT,
        CONSOLE,
        NONE
    }

    public enum EnumLoggingSeverity
    {
        EMERGENCY = 0,
        ALERT = 1,
        CRITICAL = 2,
        ERROR = 3,
        WARNING = 4,
        NOTICE = 5,
        INFORMATIONAL = 6,
        DEBUG = 7,
        DEBUGVERBOSE = 8
    }

    /// <summary>
    /// Determines the type of application that is starting up and will be hitting the master configuration file.
    /// </summary>
    public enum EnumApplicationType
    {
        SERVER,
        CLIENT,
        NONE
    }

    [Serializable]
    public enum EnumServiceSideException
    {
        NONE,
        RENDERER_SOAP_ERROR,
        RENDERER_GENERIC_ERROR,
        RENDERER_ZERO_LENGTH_STREAM,
        RENDERER_ENGINE_CONTEXT_NOT_SETUP,
        RENDERER_LOAD_REPORT_FAILED,
        RENDERER_LOAD_REPORT_FAILED_INVALID_REPORT,
        RENDERER_REX_DOWN,
        RENDERER_REX_MALFORMED,
        RENDERER_REX_UNABLE_TO_RECOVER,
        SERVICE_FAILED_TO_GET_CONFIGURATION,
        SERVICE_CRITICAL_SERVICE_FAULT
    }

    /// <summary>
    /// Currently supported rendering formats by this library.
    /// </summary>
    public enum EnumSupportedRenderer
    {
        IMAGE,
        PDF,
        NONE
    }

    public enum EnumOutputType
    {
        PRINTER,
        EMAIL,
        NONE
    }
}
